package com.xhu.collegestudentrentalsystem.module.user.service;

import com.xhu.collegestudentrentalsystem.module.user.entity.User;
import com.xhu.collegestudentrentalsystem.util.ResultData;

import java.util.Map;

/**
 * @author zhu huilin
 * @date 2023/2/26 11:44
 */
public interface IUserService {
    /**
     * 用户注册
     */
    public ResultData register(User user);

    /**
     * 检测用户邮箱是否存在
     */
    public Boolean isEmailExist(String email);

    /**
     * 检测用户昵称是否重复
     */
    public Boolean isUsernameExist(String username);

    /**
     * 用户登录时查询用户密码是否正确
     */
    public ResultData verifyUser(String username, String password, String role);

    /**
     * 根据用户名查询用户信息
     */
    public User findUserByUsername(String username);

    /**
     * 根据邮箱查询用户信息
     */
    public User findUserByEmail(String email);

    /**
     * 根据用户id查询用户信息
     */
    public User findUserById(Long userId);

    /**
     * 修改用户信息，返回修改后的用户实体信息
     */
    public User updateUserInfo(User user);

    /**
     * 根据用户ID修改用户密码
     */
    public Integer updatePassword(Long userId, String password);

    /**
     * 根据用户邮箱修改密码
     */
    public Integer updatePasswordByEmail(String email, String password);
}
